Repository navigation
docs(qwp): document C, C++, and Rust clients 7.1.0 and 7.2.0 - #589
Merged
Merged
Conversation
|
🚀 Build success! Latest successful preview: https://preview-589--questdb-documentation.netlify.app/docs/ Commit SHA: 61c4d79
|
mtopolnik
added a commit
that referenced
this pull request
Oct 19, 2026
mtopolnik
enabled auto-merge (squash)
October 21, 2026 14:14
mtopolnik
disabled auto-merge
October 21, 2026 14:14
mtopolnik
added a commit
that referenced
this pull request
Oct 22, 2026
Documents the Python client 5.1.0 QWP changes: - Canonical RFC 4122 byte order for UUID values in the Python API. The QWP wire format is unchanged. - How Arrow binary columns are identified as UUID or LONG256 through extension metadata, field metadata, or per-column overrides, with examples. - Python 5.1 support for QWP-only values in `row()` and for preserving QuestDB types when writing query results back. - DataFrame-wide `in_doubt` status and the risk of duplicating committed rows on retry. The C, C++, and Rust parts of this PR, together with the corrected store-and-forward replay guidance, moved to #589, which documents c-questdb-client 7.1.0. ## Compatibility notes - Code that passes QWP wire-order UUID bytes to updated client APIs will store reversed UUIDs; these APIs now expect canonical byte order. - Binary column width alone no longer implies UUID or LONG256. Columns must explicitly claim their type. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents the C, C++, and Rust client behavior that shipped in c-questdb-client 7.1.0 and 7.2.0. Split out of #516, which keeps the Python changes until the Python client 5.1.0 is released.
Changes
BINARYunless they claimUUIDorLONG256througharrow.uuid/questdb.column_typefield metadata or a per-column override, with examples. A caution box covers the silent behavior change for code written against 7.0.0. Also documents the scope ofin_doubtfor low-level flushes and for Rustflush_polars_dataframe.max_buf_size, the server's advertised batch size, and thesf_max_segment_bytessegment payload capacity.line_sender_buffer_size/Buffer::len()is at least the encoded frame size, so applications can flush before reaching the cap. An oversized buffer fails withbatch_too_large/ErrorCode::BatchTooLarge, publishes nothing, and keeps its rows. The C/C++ error table gains abatch_too_largerow, including thein_doubtcheck for a chunk that queued some frames before failing.DEDUP UPSERT KEYSwith stable row identity.7.2.0tag.Not covered
BatchTooLargereplacingInvalidApiCall,effective_frame_cap()). These pages document only the pooled API.Related
in_doubtscope), c-questdb-client#227 (frame cap and buffer size)Validation
npm run build, which fails on broken links and anchors🤖 Generated with Claude Code